/*
* 在一个字符串(0<=字符串长度<=10000，全部由字母组成) 中找到第一个只出现一次的字符，
* 并返回它的位置，如果没有则返回 -1（需要区分大小写）
* */
function firstSpace(str) {
    // 边界条件
    if (str.length < 1 || str.length > 10000) return -1
    let map = new Map()
    /*for (let i = 0; i < str.length; i++) {
        let charX = str[i]
        if (!map[charX]) {
            map[charX] = 1
        }else {
            map[charX]++
        }
    }
    for (let j = 0; j< str.length; j++) {
        if (map[str[j]] == 1) {
            return j
        }
    }
    return -1*/
    let arr  = str.split('')
    let hashmap = {}
    for (let key of arr) {
        if (!hashmap.hasOwnProperty(key)) {
            hashmap[key] = 1
        }else {
            hashmap[key]++
        }
    }
    let index = 1
    for (let i in arr) {
        if (hashmap[arr[i]] == 1) {
            index = i
            break;
        }
    }
    return index

}
let str = 'google'
console.log(firstSpace(str))